package cn.cs.service;


import cn.cs.common.Dto;
import cn.cs.common.Page;
import cn.cs.pojo.Agent;

import java.util.List;
import java.util.Map;

public interface AgentService {

    public Agent getAgentById(String id) throws Exception;

    public List<Agent> getAgentListByMap(Map<String, Object> param) throws Exception;

    public Integer getAgentCountByMap(Map<String, Object> param) throws Exception;

    public Integer addAgent(Agent agent) throws Exception;

    public Integer modifyAgent(Agent agent) throws Exception;

    public Integer deleteAgentById(String id) throws Exception;

    public Long getMaxCode() throws Exception;

    public Page<Agent> queryAgentPageByMap(Map<String, Object> param, Integer pageNo, Integer pageSize) throws Exception;

    public Page<Agent> queryAgentAllPageByMap(Map<String, Object> param, Integer pageNo, Integer pageSize) throws Exception;

    public List<Map<String, Object>> getAgentAreaListById(String agentId) throws Exception;

    public Integer addAgentArea(Map<String, Object> param) throws Exception;

    public Integer deleteAgentAreaById(String id) throws Exception;

    public List<Map<String, Object>> getProvinceList() throws Exception;

    public List<Map<String, Object>> getCityListByPid(String agentId) throws Exception;

    public List<Map<String, Object>> getAreaListByPid(String agentId) throws Exception;

    public List<Map<String, Object>> getAreasListByPid(String agentId) throws Exception;

    public Long getUserNumberByAgentCode(String invitationCode) throws Exception;

    public Long getShopNumberByAgentCode(String invitationCode) throws Exception;

    public Long getAgentBNumberByAgentCode(String invitationCode) throws Exception;

    public Long getAgentNumberByAgentCode(String invitationCode) throws Exception;

    public List<Map<String, Object>> getNextAreaList(String agentId, String pId, String type)throws Exception;

    public Dto setAgentByAdmin(String id)throws Exception;

    public String getAgentAreaTwoById(String id);

    public Map<String, Object> getAgentBYPhone(String phone) throws Exception;

    public String getAreaByProvinceId(String provinceId);

    public Map<String, Object> getFirstByProvinceId(String id) throws Exception;

    public Integer insertAgentAreaList(List<Map<String, Object>> list);
}
